'''全文规则'''

GLOBAL_RULES = {
    "法院名称": [r"\s*.{1,15}.{1,15}(人民|运输)法院\s*$"],  # 1
    "裁判文书类别": [r"\s*[民刑]事案\s*$", "\s*[民刑]事.{,3}书\s*$", "\s*行政裁判文书\s*$", "\s*.{,3}诉讼文书\s*$", "\s*[民刑]事.{,10}书\s*$"],  # 3 多种匹配模式
    "案号": ["\s*[（(]?[0-9]+[)）]?.{,7}[初终再][0-9]+[号]?\s*$","\s*[（(]?[0-9]+[)）]?.{,7}(执|国赔|减|其他).*[0-9]+[号]?\s*$"],
    "委托诉讼代理人信息":[".*代理人.*?[男女].*?。", ".*代理人.*?律师。", ".*代理人[：，].*?。"],
    "原告信息": ["^(原告)[：].*"],
    # "原告信息": ["^原告(?!.*(?:诉讼|被告).*).*$"],
    # "原告信息": ["^(原告)[：]?.*(?<![被告|诉讼]).*"],
    # "原告信息": ["^\s+原告[：]?.*"],
    "上诉人": ["^(上诉人（原审[原被]告）)：.*"],
    "被告信息": ["^(被告)[：:].*"],
    # "被告信息": ["^被告(?!.*(?:诉讼|原告).*).*$"],
    # "被告信息": ["^(被告)[：]?.*"],
    # "被告信息": ["^\s+被告[：]?.*"],
    "被上诉人": ["^(被上诉人（原审[原被]告）)：.*"],
    "第三人": ["^(第三人)：.*"],
    "审判时间": [r"\s*.*?[一二三四五六七八九十0-9]{,6}年[一二三四五六七八九十0-9].{,5}月[一二三四五六七八九十0-9]{,5}[日号]\s*$"],  # 29
    "尾部落款信息":["审\s*判\s*长.*", "代理审判长.*", ".*审\s*判\s*员.*", ".*陪\s*审\s*员.*","\s*.*?[一二三四五六七八九十0-9]{,6}年[一二三四五六七八九十0-9].{,5}月[一二三四五六七八九十0-9]{,5}[日号]\s*$", "书\s*记\s*员.*","法\s*官\s*助\s*理.*",],
    "正文序号":[r"(?:[;：:；。]|^)[一二三四五六七八九十0-9]+[、．.](?![0-9]{2})"],
    # "正文序号":[r"(?:[;：；。])?[^-、][-一二三四五六七八九十0-9]+[、．.](?![0-9]{2})", r"(?<=[、])[一二三四五六七八九十0-9]+[、．.](?![0-9]{2})"],
    "本人": ["本人.*身份证号.*?。"],
    "金额": ["(人民币)?\d{1,3}([,，]\d{3})*\.\d{2}[十百千万亿]?\D{0,1}元","(人民币)?(\d{3,})*\.\d{,2}[十百千万亿]?\D{0,1}元",
           "(人民币)?\d{1,}(?:\.\d{,2})?[十百千万亿]?\D{0,1}元", "(人民币)?\d+[十百千万亿]?\D{0,1}元" ,
           "(人民币)?\d{1,3}([,，]\d{,3})*[十百千万亿]?\D{0,1}元" ],
}

Clerical_information = {
    '收案年度': r"\（(.*?)\）",
    '法院代字': r'(?<=[\)\）])([\u4e00-\u9fa5]+)?(\d*)(?=(民|行|刑|字|执|赔|减|其他))',
    '类型代字': r"(刑|民|行|执|赔|减|其他)(初|终|再)?",
    '案件编号': r"[^初终再第]\d{,5}(?=号)",
}

PERSON_RULES = {
    '角色':['(原告|被告|第三人|上诉人（原审[原被]告）|被上诉人（原审[原被]告）)'],
    '姓名': [r'(原告|被告|第三人|上诉人（原审[原被]告）|被上诉人（原审[原被]告）)[：]?([\u4e00-\u9fa5]+)(?<![男|女])'],
    '性别': [r'[男女]'],
    '出生年月日': [r'(\d{1,})年(\d{1,2})月(\d{1,2})日'],
    '民族': [r'([^，]+族)'],
    '户籍地': [r'户籍地：([\u4e00-\u9fa5]+)'],
    '身份证号':[ r"身份[证号码:：]*([0-9a-zA-Z]*)"],
    '职业或工作单位或职务':[],
    '住所': ['现住.*?省.*?区', '住.*?区', '住.*?(，|。)'],
}

BENREN_RULES={
    '姓名': [r'本人([\u4e00-\u9fa5]+)'],
    '身份证号':[ r"身份证号([0-9xX]*)"],
}

# 原被告是公司
COMPANY_RULES = {
    '角色': ['(原告|被告|第三人|上诉人（原审[原被]告）|被上诉人（原审[原被]告）)'],
    "公司名称":["(原告|被告|第三人|上诉人（原审[原被]告）|被上诉人（原审[原被]告）)[:：]\s*(.*?公司)", "(原告|被告|第三人|上诉人（原审[原被]告）|被上诉人（原审[原被]告）)[:：]\s*(.*?公司.*?)"],
    "企业信用代码":["信用代码[：]?([A-Za-z0-9]+)"],
    "地址":[r"(住所地|地址)[:：]?\s*(.*?)(，|。|$)"],
}

# 公司法定代表人/指定代理人
COMPANY_PERSON_RULES= {
    '姓名': [r'(法定代表人|指定代理人|负责人)[:：]?\s*([\u4e00-\u9fa5]+)(?<![男|女])'],
    '性别': [r'[男女]'],
    '住所': [r'现住.*?省.*?区', r'住.*?区', r'住.*'],
    '职业或工作单位或职务':[r"[\u4e00-\u9fa5]*董事长", r"[\u4e00-\u9fa5]*经理", r"[\u4e00-\u9fa5]*员工", r"[\u4e00-\u9fa5]*不详"],
}

# 委托诉讼代理人是自然人
ATTORNEY_PERSON_RULES= {
    '姓名': [r'代理人(?:[;：:；。，]|^)([\u4e00-\u9fa5]+)'],
    '性别': [r'[男女]'],
    '职业或工作单位或职务':[r'^[\u4e00-\u9fa5].*?公司.*?', r'^[\u4e00-\u9fa5].*?员工'],
}

# 委托诉讼代理人是律师
ATTORNEY_RULES = {
    '姓名': [r'代理人(?:[;：:；。，]|^)([\u4e00-\u9fa5]+)(?<!律师)，'],
    '律师事务所名称':[r'[\u4e00-\u9fa5|（|）]+事务所'],
    '法律服务所的名称及执业身份':[r'[\u4e00-\u9fa5|（|）]+律师'],
}